#ifndef LISTAAGENDA_H_
#define LISTAAGENDA_H_

#include <iostream>
#include "Pesquisa.h"
#include <string>
#include <cstdlib>
#include "ItemAgenda.h"

    /**********************************************************************
        Classe: Agenda
        Funcionalidade: A Agenda tem como função guardar datas de atendimentos
    a serem realizados pelos pacientes, fazendo o CRUD dos eventos.
    ***********************************************************************/

using namespace std;

class Agenda {

public:
    Agenda();
	bool inserirEvento(string d, string nPac, int di, int m, int a, int h,
			int mi, list<Cliente> clientes, Vacina * vacina);
    bool inserirEvento(string d, string nPac, string nVac, int di, int m, int a, int h,
		int mi, list<Cliente> clientes, list<Vacina> vacinas);


	ItemAgenda * buscarEvento(string d);

	//Não faz sentido modificar paciente
	bool modificaEventoDAt(string d, int di, int m, int a, int h, int mi);
	bool modificaEventoDAg(string d, int di, int m, int a, int h, int mi);
	bool modificaEventoDesc(string d, string nd);
	bool modificaEventoVac(string d, Vacina * vacina);

	bool atendimentoRealizado(string d);

	bool removerEvento(string d);

	void limparAgenda();

	list<ItemAgenda> &getItensAgenda();

private:
	list<ItemAgenda> itensAgenda;
	int numItens;
};

#endif /* LISTAAGENDA_H_ */
